struct A {
};

struct B: A {
};

struct C: B {
};

bool f1(A&) {return true;}
bool f1(B&) {return false;}

int main()
{
  C c;
  assert(f1(c)==false);
}
